/**
 * 对象 Object 
 *  1.创建对象 直接字面量 构造函数 
 */
// 1.创建对象 直接字面量
var obj = {
    name:'ronda',
    age:12,
    gender:'male',
    // 函数写在对象内部就是方法 
    sayName:function(){
        // this 执行环境上下文对象 被谁拥有被谁调用
        console.log(this.name,'----');
    }
};
// 访问对象属性 点访问法 中括号访问法 
console.log(obj.name,obj.age,obj['gender']);
obj.sayName();
console.log(obj);
// 2.修改对象属性 
obj.name = 'terry';
obj['age'] = 22;

// 3.删除对象中的属性 
// delete obj.gender;
// delete obj.name 
// delete obj.age 

// 4.增加对象中的属性 
obj.weight = '20kg';
obj.color = 'red';

// 5.一次性访问对象中所有属性 for in 循环 遍历 
for(let key in obj){
    // 对象中的所有属性名 解析变量 中括号
    console.log(key,obj[key])
}

// console.log(obj,'修改后的obj');

// function Object(){}
// class Object{
//     constructor(name,age,gender,male){
//         this.name = name;
//         this.age = age;
//         this.gender =gender;
//     }
// }

// 2.创建对象方式 构造函数 
var obj1 = new Object();
obj1.name = 'larry';
obj1.gender = 'male';
console.log(obj1);